.\" Copyright (c) 2000 Manoj Srivastava <srivasta@debian.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Minor polishing, aeb
.\" Modified, 2002-06-16, Mike Coleman
.\"
.TH hosts 5 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
hosts \- static table lookup for hostnames
.SH SYNOPSIS
.nf
.B /etc/hosts
.fi
.SH DESCRIPTION
This manual page describes the format of the
.I /etc/hosts
file.
This file is a simple text file that associates IP addresses
with hostnames, one line per IP address.
For each host a single
line should be present with the following information:
.RS
.P
IP_address canonical_hostname [aliases...]
.RE
.P
The IP address can conform to either IPv4 or IPv6.
Fields of the entry are separated by any number of blanks and/or
tab characters.
Text from a "#" character until the end of the line is
a comment, and is ignored.
Host names may contain only alphanumeric
characters, minus signs ("\-"), and periods (".").
They must begin with an
alphabetic character and end with an alphanumeric character.
Optional aliases provide for name changes, alternate spellings,
shorter hostnames, or generic hostnames (for example,
.IR localhost ).
If required, a host may have two separate entries in this file;
one for each version of the Internet Protocol (IPv4 and IPv6).
.P
The Berkeley Internet Name Domain (BIND) Server implements the
Internet name server for UNIX systems.
It augments or replaces the
.I /etc/hosts
file or hostname lookup, and frees a host from relying on
.I /etc/hosts
being up to date and complete.
.P
In modern systems, even though the host table has been superseded by
DNS, it is still widely used for:
.TP
.B bootstrapping
Most systems have a small host table containing the name and address
information for important hosts on the local network.
This is useful
when DNS is not running, for example during system bootup.
.TP
.B NIS
Sites that use NIS use the host table as input to the NIS host
database.
Even though NIS can be used with DNS, most NIS sites still
use the host table with an entry for all local hosts as a backup.
.TP
.B isolated nodes
Very small sites that are isolated from the network use the host table
instead of DNS.
If the local information rarely changes, and the
network is not connected to the Internet, DNS offers little
advantage.
.SH FILES
.I /etc/hosts
.SH NOTES
Modifications to this file normally take effect immediately,
except in cases where the file is cached by applications.
.SS Historical notes
RFC\ 952 gave the original format for the host table, though it has
since changed.
.P
Before the advent of DNS, the host table was the only way of resolving
hostnames on the fledgling Internet.
Indeed, this file could be
created from the official host data base maintained at the Network
Information Control Center (NIC), though local changes were often
required to bring it up to date regarding unofficial aliases and/or
unknown hosts.
The NIC no longer maintains the hosts.txt files,
though looking around at the time of writing (circa 2000), there are
historical hosts.txt files on the WWW.
I just found three, from 92,
94, and 95.
.SH EXAMPLES
.EX
# The following lines are desirable for IPv4 capable hosts
127.0.0.1       localhost
\&
# 127.0.1.1 is often used for the FQDN of the machine
127.0.1.1       thishost.example.org   thishost
192.168.1.10    foo.example.org        foo
192.168.1.13    bar.example.org        bar
146.82.138.7    master.debian.org      master
209.237.226.90  www.opensource.org
\&
# The following lines are desirable for IPv6 capable hosts
::1             localhost ip6\-localhost ip6\-loopback
ff02::1         ip6\-allnodes
ff02::2         ip6\-allrouters
.EE
.SH SEE ALSO
.BR hostname (1),
.BR resolver (3),
.BR host.conf (5),
.BR resolv.conf (5),
.BR resolver (5),
.BR hostname (7),
.BR named (8)
.P
Internet RFC\ 952
.\" .SH AUTHOR
.\" This manual page was written by Manoj Srivastava <srivasta@debian.org>,
.\" for the Debian GNU/Linux system.
